Drastic price reductions of personal computers (PC's) have allowed large and small organizations to give computers to more office workers. An expansion of business often requires that more computers be installed and connected to existing computers and servers. Distribution of tasks among office workers often requires that these computers be linked together on a network.
Local-area networks (LAN's) connect computers in an office complex together. These LAN's are often connected to other LAN's or the Internet. As more computers are installed, the number of connections or ports on the LAN needs to increase. Additional networking equipment must be installed to make the additional ports available.
Repeaters are commonly used to increase the number of ports on a LAN. A repeater typically has four, eight, or sixteen ports. Any transmission to any of the ports is repeated to all the other ports on the repeater. Thus all the ports see transmissions from any of the repeater ports.
As more computers are purchased and installed, additional ports are needed to connect the new computers to the network. Eventually, all of the ports on the repeater are used, so additional repeaters must be installed. FIG. 1 illustrates cascading of repeaters to increase the number of available ports on a LAN. Repeaters 111, 112 each have four connections or ports. Stations 22, 24, 26 on repeater 111, and stations 32, 34, 36 on repeater 112, are client computers such as PC's, or server machines.
The fourth port on repeater 111 is connected to the first port of repeater 112 by a cable. Any transmission from stations 22, 24, 26 are repeated both to the other stations on repeater 111, and through the cable to repeater 112. Repeater 112 then repeats the transmission to its stations 32, 34, 36. The reverse is also true: a transmission from station 36 is repeated by repeater 12 to stations 32, 34, but is also repeated to stations 2224, 26 by repeater 111. Thus any transmission from any of the six stations is repeated to the other five stations by the two cascaded repeaters 111, 112.
As additional PC's are installed, a third repeater could be cascaded by moving station 36 to the third repeater, and connecting the fourth port of repeater 112 to one of the ports of the third repeater. Thus additional repeaters can be cascaded to existing repeaters to expand the network. Such cascading is sometimes referred to as chaining or daisy-chaining.
There are physical limits to the number of repeaters that can be cascaded together. Delays within the repeaters and from the cables limit the number of repeaters that can be cascaded together. In the 10 Mbps network, this limit is four repeaters, but in the 100 Mbps network, the limit is just two repeaters. Cascading repeaters is somewhat inefficient since one or two ports on each repeater are used for cascading rather than for connecting computers (stations). In the example of FIG. 1, only six of the eight ports are used for connecting computer stations.
More efficient networks can be constructed by stacking rather than cascading repeaters. FIG. 2 shows stacking and cascading of repeaters. A proprietary backplane bus is used to connect repeaters 210, 212 together using a stacking connector. Stacking bus 18 contains the data and control signals required for the operation of repeaters 10, 12 as one logical repeater unit. Stacked repeaters 210, 212 are grouped together as one repeater unit for determining the maximum cascaded-repeater limit.
Since a separate stacking connector couples repeaters 210, 212 to stacking bus 18, all of the four ports are available for connecting to computer stations. Repeater 210 connects to four stations 22, 24, 26, 28, while repeater 212 connects to three stations 34, 36, 38. The fourth port of repeater 212 is used to cascade to repeater 214 using the technique of FIG. 1. Repeater 214 connects to three more stations 31, 33, 35.
Repeaters 210, 212 are stacked together while repeaters 212, 214 are cascaded. Repeater 214 could be cascaded with two more repeaters since repeater 210 is stacked rather than cascaded. Stacked repeaters are grouped together as one repeater unit when determining the limit of repeaters that can be cascaded together. Thus stacking allows for more ports than simple cascading.
FIG. 3 highlights that stacking can occur internally and externally. Repeaters 310, 312 have stacking connections to internal stacking bus 20, while repeaters 314, 316 have stacking connections to internal stacking bus 21. Buffers 19, 19' buffer signals from internal stacking busses 20, 21 to external stacking bus 18. Thus busses 20, 21, 18 connect repeaters 310, 312, 314, 316 together, allowing sixteen computer stations to be connected to the four repeaters.
Repeaters 310, 312 are each separate integrated circuit (IC) chips on repeater board or card 15, while repeaters 314, 316 are IC chips on card 17. External bus 18 is a backplane bus that connects separate repeater cards together on a chassis. Thus 8-port repeater cards can be constructed from four-port repeater chips. Of course, other sizes are possible.
Collisions, Jamming, One-Port-Left
Collisions are error conditions that occur when two or more computer stations simultaneously transmit. When a repeater detects that two of its ports are simultaneously receiving data, it activates a collision signal and transmits a jamming sequence to all ports to prevent another station from beginning transmission. The jamming sequence collides with the data transmitted by the stations. The stations sense a collision by the simultaneous transmit and receive sequences and abort transmission.
Once all stations have stopped transmitting, the repeaters stop sending the jamming sequence. The colliding stations each wait a predetermined amount of time (the backoff period) and then retransmit. The retransmission time is randomly determined for each station.
For a chain of cascaded repeaters, any collision first occurs at a specific point in the chain. The repeater that first detects the collision is the first to generate the jamming sequence. Eventually all repeaters in the chain generate the jamming sequence. Each repeater continues to generate the jamming sequence until exactly one port is inputting data. The repeater that enters the one-port-left state stops jamming the remaining port that is inputting data, but continues to jam the other local ports. When input activity on the remaining port ceases, the repeater stops jamming the other ports.
All repeaters in the chain sequentially enter the one-port-left state once the station causing the collision backs off. The repeaters then exit the one-port-left state in the reverse order.
Detecting One-Port-Left for Stacked Repeaters
When repeaters are stacked together, they must act as one unit. The one-port-left state must be determined for all the stacked repeaters together as if they were all one repeater. The stacking bus contains signals to quickly detect the one-port-left state for the stacked repeaters. The delay to detect one-port-left must be minimized.
FIG. 4 shows an analog solution to detect the one-port-left state of a group of stacked repeaters. The stacking bus includes activity line 18' that is pulled low by resistor 42. When either repeater 410, 412 receives data or a jam signal on one or more of its ports, it pulls activity line 18' high. The voltage on activity line 18' is determined by the amount of current through resistor 42. When only one of repeaters 410, 412 drives activity line 18', then its voltage is I*R where I is the current driven from each repeater to activity line 18'. When both repeaters 410, 412 drive activity line 18', then its voltage is higher: 2*I*R.
Repeaters 410, 412, or other logic can sense the voltage of activity line 18', and when the voltage falls to I*R, then only one of the stacked repeaters has an active input port. Thus the stacked repeaters, as a unit, have only one port left.
While such analog sensing for one-port left is useful, noise coupling into the activity line is problematic. Precise resistors and sensing circuits are needed. Also, there can be only one resistor for the activity line for the entire stack. This is undesirable, since all the repeaters in the stack are no longer identical. One must have the resistor while others don't. A DIP switch or configuration of the resistors by auto-sensing at startup can be employed. Unfortunately, this complicates installation of additional repeaters in the stack.
FIG. 5 illustrates a digital solution to detect one-port-left for stacked repeaters. Arbitration logic 40 receives activity or request lines 44 from each repeater 510, 512 that is stacked together on stacking bus 18". Arbitration logic 40 counts the number of request lines 44 that are active, and waits until just one of request lines 44 are active, indicating that only one repeater has a port inputting data. Then arbitration logic 40 signals on line 48 the one-port-left state. It can also signal on line 48 that an inter-repeater collision has occurred, signaling to repeaters 510, 512 to start generating the jamming sequence.
While arbitration logic 40 may be integrated with repeaters 510, 512, it is not as flexible as the analog solution of FIG. 4. As more repeaters are added to the stack, additional request lines must be input to arbitration logic 40 from each of the added repeaters. Arbitration logic 40 has a number of request-line inputs that is fixed at manufacture. The number of request lines can be limited by the number of pins on the IC containing arbitration logic 40, such as a programmable-logic device or a higher-integration IC that includes repeaters 510, 512. The unused request lines can increase the cost of the stack, by requiring a larger IC package and by requiring additional wires in cables that connect together repeaters in the stack to arbitration logic 40. Multiple levels of arbitration can be used but adds to the cost and complexity. Thus the number of repeaters that can be stacked together is limited to the number of request-line inputs to arbitration logic 40.
What is desired is an easily expandable stack of repeaters. It is desired to detect the one-port-left state in a stack of repeaters. It is desired to use digital rather than analog signals for detecting the one-port-left state to reduce noise sensitivity. It is further desired to allow any number of repeaters to be added to the stack by not limiting the inputs to one-port-left detection logic. It is desired to have expandable one-port-left logic that is distributed among repeaters rather than in a central location so that the repeater units are all identical.